package com.cloud.xtools.common.util;

import cn.hutool.core.bean.BeanUtil;
import com.cloud.xtools.common.response.PageList;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class XPage {

    // 开启分页
    public static void startPage(Integer pageNum, Integer pageSize){
        PageHelper.startPage(pageNum, pageSize);
    }
    // 分页数据处理
    public static PageList page(List<?> lists, Class<?> resource){
        PageInfo<?> pageInfo = new PageInfo<>(lists);
        // System.out.println(pageInfo.getList());
        // PageList<T> pageList = new PageList<T>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal(), pageInfo.getPages(), pageInfo.getList(), resource);
        // System.out.println("*****");
        // System.out.println(pageList);
        return new PageList(
                pageInfo.getPageNum(),
                pageInfo.getPageSize(),
                pageInfo.getTotal(),
                pageInfo.getPages(),
                BeanUtil.copyToList(pageInfo.getList(), resource)
        );
    }
}
